: Death Row Information스크랩 텍스트 사용하여 파이썬 나는이 웹 사이트에서 데이터를 긁어하기 위해 노력하고있어 2.7
내가 마지막 문장이기 때문에 목록에있는 모든 실행 된 범죄자의 마지막 문을 긁어하는 데 문제 다른 HTML 페이지에 있습니다. URL의 이름은 다음과 같이 작성됩니다. http://www.tdcj.state.tx.us/death_row/dr_info/[lastname][firstname].html. 이 페이지에서 마지막 문장을 긁어서 Sqlite 데이터베이스에 저장하는 방법을 생각할 수 없습니다.
다른 모든 정보 (필자가 필요로하지 않는 "위반자 정보"가 예상 됨)는 이미 내 데이터베이스에 있습니다.
파이썬에서이 작업을 수행하기위한 포인터를 얻을 수있는 사람은 누구입니까?
감사
Edit2가 :
import sqlite3
import csv
import re
import urllib2
from urllib2 import Request, urlopen, URLError
from BeautifulSoup import BeautifulSoup
import requests
import string
URLS = []
Lastwords = {}
conn = sqlite3.connect('prison.sqlite')
conn.text_factory = str
cur = conn.cursor()
# Make some fresh tables using executescript()
cur.execute("DROP TABLE IF EXISTS prison")
cur.execute("CREATE TABLE Prison (link1 text, link2 text,Execution text, LastName text, Firstname text, TDCJNumber text, Age integer, date text, race text, county text)")
conn.commit()
csvfile = open("prisonfile.csv","rb")
creader = csv.reader(csvfile, delimiter = ",")
for t in creader:
cur.execute('INSERT INTO Prison VALUES (?,?,?,?,?,?,?,?,?,?)', t,)
for column in cur.execute("SELECT LastName, Firstname FROM prison"):
lastname = column[0].lower()
firstname = column[1].lower()
name = lastname+firstname
CleanName = name.translate(None, ",[email protected]'#$" "")
CleanName2 = CleanName.replace(" ", "")
Url = "http://www.tdcj.state.tx.us/death_row/dr_info/"
Link = Url+CleanName2+"last.html"
URLS.append(Link)
for URL in URLS:
try:
page = urllib2.urlopen(URL)
except URLError, e:
if e.code ==404:
continue
soup = BeautifulSoup(page.read())
statements = soup.findAll ('p',{ "class" : "Last Statement:" })
print statements
csvfile.close()
conn.commit()
conn.close()
코드는 지저분하다, 내가 아는 : 내가 더 조금 얻었다. 모든 것이 작동하면 나는 그것을 정리할 것입니다. 하나의 문제. 나는 soup을 사용하여 모든 진술을 얻으려고 노력하고 있습니다. findall,하지만 나는 수업을 제대로 못하는 것 같습니다. 페이지 소스의 관련 부분은 다음과 같습니다
<p class="text_bold">Last Statement:</p>
<p>I don't have anything to say, you can proceed Warden Jones.</p>
을하지만, 내 프로그램의 출력 :
[]
[]
[]
... 가 정확히 무슨 문제가 될 수 있습니까?
는
은, 정확히 문제가 무엇입니까? "마지막 문장"을 다른 페이지 내용과 분리 하시겠습니까? –
존 고든 : 글쎄요, 진술은 테이블에 없습니다. 예 : http://www.tdcj.state.tx.us/death_row/dr_info/vargakevinlast.html이 링크를 확인하십시오. 각 페이지의 마지막 문장을 가져 오는 방법을 모르겠습니다. – Omnicron
'
마지막 성명서 :
'을 찾아서 다음 내용을 얻을 수 있습니다. ''... –