hahawangzi 发表于 2020-10-12 10:32

想要图形做一个搜索爬虫但是结果没反应,帮忙看看

#------------------------------------------
window=tk.Tk()
window.title("test windpws")
window.geometry('500x600')
shuru=tk.Entry(window)
shuru.pack(side="top")
t=tk.Text(window,width=60,height=30)
t.pack()
#---------------------------------
url = "https://fitgirl-repacks.site/page/"
headers={
         'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36',
      
         
      }
dict={}
ls = ["Upcoming repacks","Russian Movies"]
def comd():
    var=shuru.get()
    for i in range(1,10):
   
      r = requests.get(url+str(i),headers=headers)
      soup=BeautifulSoup(r.text,'lxml')
      s = soup.find('div',id="content")
      #print("******************************第{}页*****************************".format(str(i)))
      for j in s.find_all('article',id=re.compile("post-\d+$")):
            if var in j.find("h1",class_="entry-title").getText() :
                #dict["title"]=j.find("h1",class_="entry-title").getText()
                #print(dict["title"])
                t.insert("end",str(j.find("h1",class_="entry-title").getText()))
                if j.find("ul") is not None:
                  s=j.find("ul")
                  for k in s.find_all("li"):
                #if s.find_all("li") is not None:
            
                            if k.find('a',href=re.compile('^magnet.*?')) is not None:
                              if k.find('a',href=re.compile('^magnet.*?')).getText() == "magnet":
                                    if len(k.find('a',href=re.compile('^magnet.*?')).get('href')) == 60:
                                        #print(str(k.find('a',href=re.compile('^magnet.*?')).get('href'))+"\n")
                                        t.insert("insert",str(k.find('a',href=re.compile('^magnet.*?')).get('href')))
b1=tk.Button(window,text="检索",width=15,height=4,command=comd)
b1.pack()


window.mainloop()

sljjyy 发表于 2020-10-12 10:48

呃 str里面是啥

sljjyy 发表于 2020-10-12 10:53

还有个小建议 if层级太多了

例如:if k.find('a',href=re.compile('^magnet.*?')) is not None:

# 改成
if k.find('a',href=re.compile('^magnet.*?')) is None:
continue

这样会不会好看点

kabengqi 发表于 2020-10-12 10:56

没反应就打印爬取的结果,看看爬取的内容是否为空。为空就看自己请求是不是错了,或者IP被限制了一类的。

hahawangzi 发表于 2020-10-12 10:59

我是先写出爬取结果 在加上框架的 爬取 都能正常出结果 ,就是 加入txt框架后就 无法显示结果

yanyaneboy 发表于 2020-10-12 13:07

个人喜欢把各个功能做成函数,先调试成功后再调用拼装到一起。混到一起,好难调试。

hahawangzi 发表于 2020-10-12 13:37

楼上帮我改改试试看啊
页: [1]
查看完整版本: 想要图形做一个搜索爬虫但是结果没反应,帮忙看看