簡體   English   中英

發生異常:Python 中的 TypeError

[英]Exception has occurred: TypeError in Python

我對編碼很陌生,所以很抱歉這是一個愚蠢的問題。 每次嘗試為 Python 抓取器運行此代碼時,我都會收到錯誤消息。 任何幫助都會很棒。

Exception has occurred: TypeError
'module' object is not callable
  File "C:\Users\quawee\OneDrive\seaporn.org-scraper\seaporn.org-scraper.py", line 33, in <module>
    articles = requests(x)

從這個代碼....

import requests
from bs4 import BeautifulSoup
import pandas as pd
import time

articlelist = []

def request(x):
    url = f'https://www.seaporn.org/category/hevc/page/{x}/'
    headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36'}
    r = requests.get(url, headers=headers)
    soup = BeautifulSoup(r.content, features='lxml')
    return soup.find_all('article', class_ = 'post-summary')

def parse(articles):
    for item in articles:
        link = item.find({'a': 'entry-link'})
        article = {
            'link': link['href']
        }

        articlelist.append(article)

def output():
    df = pd.DataFrame(articlelist)
    df.to_excel('articlelist.xlsx', index=False)
    print('Saved to xlsx.')

x = 5000

while True:
    print(f'Page {x}')
    articles = requests(x)
    x = x + 1
    time.sleep(3)
    if len(articles) != 0:
        parse(articles)
    else:
        break

print('Completed, total articles is', len(articlelist))
output()

您定義的函數的名稱是request(x) 您正在 while 循環內調用requests(x) 這應該有效,我只是更正了拼寫:

import requests
from bs4 import BeautifulSoup
import pandas as pd
import time

articlelist = []

def request(x):
    url = f'https://www.seaporn.org/category/hevc/page/{x}/'
    headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36'}
    r = requests.get(url, headers=headers)
    soup = BeautifulSoup(r.content, features='lxml')
    return soup.find_all('article', class_ = 'post-summary')

def parse(articles):
    for item in articles:
        link = item.find({'a': 'entry-link'})
        article = {
            'link': link['href']
        }

        articlelist.append(article)

def output():
    df = pd.DataFrame(articlelist)
    df.to_excel('articlelist.xlsx', index=False)
    print('Saved to xlsx.')

x = 5000

while True:
    print(f'Page {x}')
    articles = request(x)
    x = x + 1
    time.sleep(3)
    if len(articles) != 0:
        parse(articles)
    else:
        break

print('Completed, total articles is', len(articlelist))
output()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM