Ich habe eine Datenbank, wo ich die Startseite einiger Websites gespeichert habe. Ich möchte, dass dieses Skript einen Link aus dieser Datenbank abruft und dann andere auf der Seite vorhandene href-Links findet und sie dann in eine andere Tabelle in mysql einfügt. Hier ist das Skript: -Python Beasesoup Crawler Fehler beim Auswählen der URL von Mysql
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()
Ich bekomme folgenden Fehler. Bitte helfen Sie mir bei der Lösung dieses Problems, da ich neu bei Python bin und versuche, neue Sachen zu lernen.
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'
Finden Sie heraus, den Wert von 'url' wenn die Ausnahme tritt auf ... es könnte einen Hinweis geben – har07