私は初心者の定義です。私はPythonについて何も知らないので、助けを求めています。私は自分の欲求/ニーズに合わせて変数を変更するのに十分なコードを読むことができますが、元のコードが要求していないことをすることになると... 私は迷ってしまいます。
これが取り引きです。最初にすべてのCLサイトを検索し、特定のキーワードを含む投稿にフラグを立てるクレイグリスト(CL)フラグスクリプトを見つけました(これは、サイエントロジーに言及したすべての投稿にフラグを付けるために書かれました)。
私の一般的なエリア (437 サイトではなく 15 サイト) の CL サイトのみを検索するように変更しましたが、変更された特定のキーワードを引き続き検索します。投稿の並べ替えから CL で多くのビジネスを行っているため、CL を継続的にスパムし、並べ替えを困難にしている人々に自動的にフラグを立てたいと考えています。
スクリプトに実行させたいのは、各ループ後にプロキシ サーバーを変更する基準を満たす投稿が見つからなくなるまでループすることです。そして、プロキシ/S IPアドレスを入れるスクリプト内の場所
返信をお待ちしております。
これが私が持っている変更されたコードです:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import urllib
from twill.commands import * # gives us go()
areas = ['sfbay', 'chico', 'fresno', 'goldcountry', 'humboldt', 'mendocino', 'modesto', 'monterey', 'redding', 'reno', 'sacramento', 'siskiyou', 'stockton', 'yubasutter', 'reno']
def expunge(url, area):
page = urllib.urlopen(url).read() # <-- and v and vv gets you urls of ind. postings
page = page[page.index('<hr>'):].split('\n')[0]
page = [i[:i.index('">')] for i in page.split('href="')[1:-1] if '<font size="-1">' in i]
for u in page:
num = u[u.rfind('/')+1:u.index('.html')] # the number of the posting (like 34235235252)
spam = 'https://post.craigslist.org/flag?flagCode=15&postingID='+num # url for flagging as spam
go(spam) # flag it
print 'Checking ' + str(len(areas)) + ' areas...'
for area in ['http://' + a + '.craigslist.org/' for a in areas]:
ujam = area + 'search/?query=james+"916+821+0590"+&catAbb=hhh'
udre = area + 'search/?query="DRE+%23+01902542+"&catAbb=hhh'
try:
jam = urllib.urlopen(ujam).read()
dre = urllib.urlopen(udre).read()
except:
print 'tl;dr error for ' + area
if 'Found: ' in jam:
print 'Found results for "James 916 821 0590" in ' + area
expunge(ujam, area)
print 'All "James 916 821 0590" listings marked as spam for area'
if 'Found: ' in dre:
print 'Found results for "DRE # 01902542" in ' + area
expunge(udre, area)
print 'All "DRE # 01902542" listings marked as spam for area'