2012-07-12 36 views
9

Tôi đang làm việc trên một dự án để phân tích cách trích dẫn các bài viết trên tạp chí. Tôi có một tập các tên bài báo lớn. Tôi dự định chuyển chúng sang Google Scholar và xem có bao nhiêu trích dẫn.Sử dụng tor và python để cạo Google Scholar

Dưới đây là chiến lược Tôi sau:

  1. Sử dụng "scholar.py" từ http://www.icir.org/christian/scholar.html. Đây là tập lệnh python được viết trước để tìm kiếm học giả trên google và trả về thông tin về lần truy cập đầu tiên ở định dạng CSV (bao gồm số trích dẫn)

  2. Học giả Google chặn bạn sau một số tìm kiếm nhất định (Tôi có khoảng 3000 tiêu đề bài viết truy vấn). Tôi đã thấy rằng hầu hết mọi người sử dụng Tor (How to make urllib2 requests through Tor in Python?Prevent Custom Web Crawler from being blocked) để giải quyết vấn đề này. Tor là một dịch vụ cung cấp cho bạn một địa chỉ IP ngẫu nhiên sau mỗi vài phút.

Tôi có scholar.py và tor cả thiết lập và làm việc thành công. Tôi không phải là rất quen thuộc với python hoặc thư viện urllib2 và tự hỏi những gì sửa đổi là cần thiết để scholar.py để truy vấn được định tuyến thông qua Tor.

Tôi cũng tuân theo các đề xuất cho phương pháp tiếp cận dễ dàng hơn (và có khả năng khác đáng kể) cho truy vấn học tập google khối lượng nếu có.

Cảm ơn trước

Trả lời

1

Đối với tôi, cách tốt nhất để sử dụng TOR là setting up a local proxy like polipo. Tôi thích để clone repo và biên dịch tại địa phương:

git clone https://github.com/jech/polipo.git 
cd polipo 
make all 
make install 

Nhưng bạn có thể sử dụng quản lý của bạn gói (brew install polipo trong mac, apt install polipo trên Ubuntu). Sau đó viết một tập tin cấu hình đơn giản:

echo socksParentProxy=localhost:9050 > ~/.polipo 
echo diskCacheRoot='""' >> ~/.polipo 
echo disableLocalInterface=true >> ~/.polipo 

sau đó chạy nó:

polipo 

Xem urllib docs on how to use a proxy. Giống như nhiều ứng dụng unix, urllib sẽ tôn vinh các biến môi trường http_proxy:

export http_proxy="http://localhost:8123" 
export https_proxy="http://localhost:8123" 

Tôi thích sử dụng các thư viện yêu cầu, một wrapper đẹp hơn cho urllib. Nếu bạn không có nó đã:

pip install requests 

Nếu urllib đang sử dụng Tor sau một lót nên in Đúng:

python -c "import requests; print('Congratulations' in requests.get('http://check.torproject.org/').text)" 

Điều cuối cùng, hãy cẩn thận: mạng Tor không phải là một đường chuyền miễn phí để làm những điều ngớ ngẩn trên Internet bởi vì ngay cả khi sử dụng nó, bạn không nên cho rằng bạn hoàn toàn vô danh.

+0

Liên kết đầu tiên không còn hợp lệ – chrisfs

+0

Liên kết thối, đó là lý do tại sao các câu trả lời chỉ liên kết sucks ... Tôi nên bao gồm các hướng dẫn trong câu trả lời, rất tiếc là tôi không có thời gian để làm điều đó ngay bây giờ, xin lỗi. –

+0

liên kết đã được sao lưu ngay bây giờ – user3791372

Các vấn đề liên quan