私はいくつかのウェブサイトのホームページを保存しているデータベースを1つ持っています。私はこのスクリプトがこのデータベースから1つのリンクを取得するようにして、ページに存在する他のhrefリンクを見つけて、それをmysqlの他のテーブルに挿入しなければなりません。ここにスクリプトがあります: -mysqlからURLを取得中にpython beautifulsoupクローラエラーが発生する
import requests
from bs4 import BeautifulSoup
import MySQLdb
import os
import urllib2
conn = MySQLdb.connect(host= "localhost",
user="user",
passwd="password",
db="crw")
n = "no"
cat1 = "MOVIES"
cat2 = "NEWS"
loc = "SL"
act = "YES"
cursor = conn.cursor()
ext1 = ("SELECT LINK FROM LINK_MASTER WHERE ACT = %s and CAT1 = %s AND CAT2 = %s AND LOC = %s")
cursor.execute(ext1, (act, cat1, cat2, loc))
urlq = cursor.fetchone()
url = urlq
print url
response = requests.get(url)
html = response.content
soup = BeautifulSoup(html, 'html.parser')
for item in soup.find_all(attrs={"class": "post-title"}):
for link in item.find_all('a'):
p = (link.get('href'))
print p
cursor.execute("INSERT IGNORE INTO URL(URL,FD,CAT1,CAT2) VALUES (%s,%s,%s,%s)", (p,n,cat1,cat2))
conn.commit()
私は次のエラーが発生しています。私はPythonには新しいし、新しいものを学ぼうとしているので、これを解決するのを手伝ってください。
Traceback (most recent call last):
File "news.py", line 25, in <module>
response = requests.get(url)
File "/usr/lib/python2.7/dist-packages/requests/api.py", line 55, in get
return request('get', url, **kwargs)
File "/usr/lib/python2.7/dist-packages/requests/api.py", line 44, in request
return session.request(method=method, url=url, **kwargs)
File "/usr/lib/python2.7/dist-packages/requests/sessions.py", line 428, in request
env_proxies = get_environ_proxies(url) or {}
File "/usr/lib/python2.7/dist-packages/requests/utils.py", line 516, in get_environ_proxies
if should_bypass_proxies(url):
File "/usr/lib/python2.7/dist-packages/requests/utils.py", line 478, in should_bypass_proxies
netloc = urlparse(url).netloc
File "/usr/lib/python2.7/urlparse.py", line 143, in urlparse
tuple = urlsplit(url, scheme, allow_fragments)
File "/usr/lib/python2.7/urlparse.py", line 182, in urlsplit
i = url.find(':')
AttributeError: 'tuple' object has no attribute 'find'
を見つけるurl'とき 'の値を例外が発生する...ヒントを与えるかもしれない – har07